Author: jdonnerstag
Date: Thu Jun 23 10:58:45 2011
New Revision: 1138826
URL: http://svn.apache.org/viewvc?rev=1138826&view=rev
Log:
fixed: Make showing of empty list in AutoComplete configurable
Issue: WICKET-3066
Modified:
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AbstractAutoCompleteBehavior.java
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AbstractAutoCompleteRenderer.java
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AbstractAutoCompleteTextRenderer.java
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AutoCompleteBehavior.java
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AutoCompleteSettings.java
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AutoCompleteTextField.java
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/DefaultCssAutoCompleteTextField.java
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/IAutoCompleteRenderer.java
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/StringAutoCompleteRenderer.java
Modified:
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AbstractAutoCompleteBehavior.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AbstractAutoCompleteBehavior.java?rev=1138826&r1=1138825&r2=1138826&view=diff
==============================================================================
---
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AbstractAutoCompleteBehavior.java
(original)
+++
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AbstractAutoCompleteBehavior.java
Thu Jun 23 10:58:45 2011
@@ -63,9 +63,6 @@ public abstract class AbstractAutoComple
this.settings = settings;
}
- /**
- * @see
org.apache.wicket.ajax.AbstractDefaultAjaxBehavior#renderHead(org.apache.wicket.markup.html.IHeaderResponse)
- */
@Override
public void renderHead(final Component component, final IHeaderResponse
response)
{
@@ -98,6 +95,10 @@ public abstract class AbstractAutoComple
response.renderOnDomReadyJavaScript(initJS);
}
+ /**
+ *
+ * @return JS settings
+ */
protected final String constructSettingsJS()
{
final StringBuilder sb = new StringBuilder();
@@ -119,9 +120,6 @@ public abstract class AbstractAutoComple
return sb.toString();
}
- /**
- * @see org.apache.wicket.ajax.AbstractDefaultAjaxBehavior#onBind()
- */
@Override
protected void onBind()
{
@@ -150,9 +148,6 @@ public abstract class AbstractAutoComple
*/
protected abstract void onRequest(String input, RequestCycle
requestCycle);
- /**
- * @see
org.apache.wicket.ajax.AbstractDefaultAjaxBehavior#respond(org.apache.wicket.ajax.AjaxRequestTarget)
- */
@Override
protected void respond(final AjaxRequestTarget target)
{
@@ -161,6 +156,7 @@ public abstract class AbstractAutoComple
.getRequestParameters()
.getParameterValue("q")
.toOptionalString();
+
onRequest(val, requestCycle);
}
}
Modified:
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AbstractAutoCompleteRenderer.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AbstractAutoCompleteRenderer.java?rev=1138826&r1=1138825&r2=1138826&view=diff
==============================================================================
---
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AbstractAutoCompleteRenderer.java
(original)
+++
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AbstractAutoCompleteRenderer.java
Thu Jun 23 10:58:45 2011
@@ -28,20 +28,11 @@ import org.apache.wicket.request.Respons
* @since 1.2
*
* @author Igor Vaynberg (ivaynberg)
- *
*/
public abstract class AbstractAutoCompleteRenderer<T> implements
IAutoCompleteRenderer<T>
{
-
- /**
- *
- */
private static final long serialVersionUID = 1L;
- /**
- * @see
org.apache.wicket.extensions.ajax.markup.html.autocomplete.IAutoCompleteRenderer#render(java.lang.Object,
- * org.apache.wicket.request.Response, String)
- */
public final void render(final T object, final Response response, final
String criteria)
{
String textValue = getTextValue(object);
@@ -64,19 +55,12 @@ public abstract class AbstractAutoComple
response.write("</li>");
}
-
- /**
- * @see
org.apache.wicket.extensions.ajax.markup.html.autocomplete.IAutoCompleteRenderer#renderHeader(org.apache.wicket.request.Response)
- */
public final void renderHeader(final Response response)
{
response.write("<ul>");
}
- /**
- * @see
org.apache.wicket.extensions.ajax.markup.html.autocomplete.IAutoCompleteRenderer#renderFooter(org.apache.wicket.request.Response)
- */
- public final void renderFooter(final Response response)
+ public final void renderFooter(final Response response, int count)
{
response.write("</ul>");
}
Modified:
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AbstractAutoCompleteTextRenderer.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AbstractAutoCompleteTextRenderer.java?rev=1138826&r1=1138825&r2=1138826&view=diff
==============================================================================
---
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AbstractAutoCompleteTextRenderer.java
(original)
+++
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AbstractAutoCompleteTextRenderer.java
Thu Jun 23 10:58:45 2011
@@ -25,19 +25,14 @@ import org.apache.wicket.request.Respons
*
* @author Igor Vaynberg (ivaynberg)
* @param <T>
- *
*/
public abstract class AbstractAutoCompleteTextRenderer<T> extends
AbstractAutoCompleteRenderer<T>
{
private static final long serialVersionUID = 1L;
- /**
- * @see AbstractAutoCompleteRenderer#renderChoice(Object, Response,
String)
- */
@Override
protected void renderChoice(final T object, final Response response,
final String criteria)
{
response.write(getTextValue(object));
}
-
}
Modified:
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AutoCompleteBehavior.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AutoCompleteBehavior.java?rev=1138826&r1=1138825&r2=1138826&view=diff
==============================================================================
---
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AutoCompleteBehavior.java
(original)
+++
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AutoCompleteBehavior.java
Thu Jun 23 10:58:45 2011
@@ -23,6 +23,7 @@ import org.apache.wicket.request.IReques
import org.apache.wicket.request.IRequestHandler;
import org.apache.wicket.request.cycle.RequestCycle;
import org.apache.wicket.request.http.WebResponse;
+import org.apache.wicket.util.lang.Args;
/**
@@ -55,7 +56,6 @@ public abstract class AutoCompleteBehavi
this(renderer, false);
}
-
/**
* Constructor
*
@@ -81,48 +81,44 @@ public abstract class AutoCompleteBehavi
final AutoCompleteSettings settings)
{
super(settings);
- if (renderer == null)
- {
- throw new IllegalArgumentException("renderer cannot be
null");
- }
- this.renderer = renderer;
- }
+ this.renderer = Args.notNull(renderer, "renderer");
+ }
@Override
protected final void onRequest(final String val, final RequestCycle
requestCycle)
{
IRequestHandler target = new IRequestHandler()
{
-
public void respond(final IRequestCycle requestCycle)
{
-
WebResponse r =
(WebResponse)requestCycle.getResponse();
// Determine encoding
final String encoding = Application.get()
.getRequestCycleSettings()
.getResponseRequestEncoding();
- r.setContentType("text/xml; charset=" +
encoding);
+ r.setContentType("text/xml; charset=" +
encoding);
r.disableCaching();
Iterator<T> comps = getChoices(val);
+ int count = 0;
renderer.renderHeader(r);
while (comps.hasNext())
{
final T comp = comps.next();
renderer.render(comp, r, val);
+ count += 1;
}
- renderer.renderFooter(r);
+ renderer.renderFooter(r, count);
}
public void detach(final IRequestCycle requestCycle)
{
}
-
};
+
requestCycle.scheduleRequestHandlerAfterCurrent(target);
}
@@ -136,4 +132,4 @@ public abstract class AutoCompleteBehavi
* @return iterator over all possible choice objects
*/
protected abstract Iterator<T> getChoices(String input);
-}
+}
\ No newline at end of file
Modified:
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AutoCompleteSettings.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AutoCompleteSettings.java?rev=1138826&r1=1138825&r2=1138826&view=diff
==============================================================================
---
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AutoCompleteSettings.java
(original)
+++
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AutoCompleteSettings.java
Thu Jun 23 10:58:45 2011
@@ -334,5 +334,4 @@ public final class AutoCompleteSettings
this.useHideShowCoveredIEFix = useHideShowCoveredIEFix;
return this;
}
-
}
Modified:
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AutoCompleteTextField.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AutoCompleteTextField.java?rev=1138826&r1=1138825&r2=1138826&view=diff
==============================================================================
---
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AutoCompleteTextField.java
(original)
+++
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AutoCompleteTextField.java
Thu Jun 23 10:58:45 2011
@@ -44,7 +44,6 @@ import org.apache.wicket.model.IModel;
*/
public abstract class AutoCompleteTextField<T> extends TextField<T>
{
-
private static final long serialVersionUID = 1L;
/** auto complete behavior attached to this textfield */
@@ -56,7 +55,6 @@ public abstract class AutoCompleteTextFi
/** settings */
private final AutoCompleteSettings settings;
-
/**
* @param id
* @param type
@@ -125,7 +123,6 @@ public abstract class AutoCompleteTextFi
this(id, object, null, settings);
}
-
/**
* @param id
* @param object
@@ -156,7 +153,6 @@ public abstract class AutoCompleteTextFi
public AutoCompleteTextField(final String id, final
AutoCompleteSettings settings)
{
this(id, null, settings);
-
}
/**
@@ -165,7 +161,6 @@ public abstract class AutoCompleteTextFi
public AutoCompleteTextField(final String id)
{
this(id, null, new AutoCompleteSettings());
-
}
/**
@@ -232,7 +227,6 @@ public abstract class AutoCompleteTextFi
this.settings = settings;
}
-
/**
* Factory method for autocomplete behavior that will be added to this
textfield
*
@@ -270,7 +264,6 @@ public abstract class AutoCompleteTextFi
super.onBeforeRender();
}
- /** {@inheritDoc} */
@Override
protected void onComponentTag(final ComponentTag tag)
{
Modified:
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/DefaultCssAutoCompleteTextField.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/DefaultCssAutoCompleteTextField.java?rev=1138826&r1=1138825&r2=1138826&view=diff
==============================================================================
---
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/DefaultCssAutoCompleteTextField.java
(original)
+++
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/DefaultCssAutoCompleteTextField.java
Thu Jun 23 10:58:45 2011
@@ -52,5 +52,4 @@ public abstract class DefaultCssAutoComp
response.renderCSSReference(new PackageResourceReference(
DefaultCssAutoCompleteTextField.class,
"DefaultCssAutoCompleteTextField.css"));
}
-
}
Modified:
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/IAutoCompleteRenderer.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/IAutoCompleteRenderer.java?rev=1138826&r1=1138825&r2=1138826&view=diff
==============================================================================
---
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/IAutoCompleteRenderer.java
(original)
+++
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/IAutoCompleteRenderer.java
Thu Jun 23 10:58:45 2011
@@ -89,7 +89,9 @@ public interface IAutoCompleteRenderer<T
* calling {@link Response#write(CharSequence)}.
*
* @param response
+ * @param count
+ * The number of choices rendered
*/
- void renderFooter(Response response);
+ void renderFooter(Response response, int count);
}
Modified:
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/StringAutoCompleteRenderer.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/StringAutoCompleteRenderer.java?rev=1138826&r1=1138825&r2=1138826&view=diff
==============================================================================
---
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/StringAutoCompleteRenderer.java
(original)
+++
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/StringAutoCompleteRenderer.java
Thu Jun 23 10:58:45 2011
@@ -44,9 +44,6 @@ public final class StringAutoCompleteRen
return INSTANCE;
}
- /**
- * @see AbstractAutoCompleteTextRenderer#getTextValue(Object)
- */
@Override
protected String getTextValue(final Object object)
{